Virtual machine migration is the process of moving a virtual machine from a source physical computer system to a target physical computer system with as little downtime as possible. The process of moving the virtual machine from one computer system to another does have an impact on the performance of a running guest operating system. For example, when the memory used by the source virtual machine is being transferred to the target computer system execution of the source virtual machine is slowed. This is called a brownout period of the migration operation. The performance degradation occurs due to the fact that a tracking mechanism is needed to track all modifications made to memory of the virtual machine by the running guest operating system. The tracking mechanism typically uses notifications that are raised every time the guest operating system writes to a guest physical page and the processing of these notifications is what slows down execution.
Another source of performance impact is due to the occurrence of a blackout period. The blackout period is the period where the virtual machine is stopped for the transfer. The virtual machine is stopped in order to ensure that that the runtime state remains consistent. During this period, the runtime state of the virtual machine is sent to the target computer system and the virtual machine cannot be used.
Users of the services effectuated by the virtual machine would benefit if the performance impact due to the brownout period is reduced and blackout period was shorted. For example, an administrator could be able to more easily balance workloads on physical computers without worrying about how the blackout and brownout periods affect end users. Accordingly, techniques for reducing the performance impact of both the blackout period and the processing of notifications during the brownout period are desirable.